import interce from "./interceptor.js";

/**
 * 发起 API 请求
 * @param {Object} params - 请求参数
 * @param {string} [params.url] - API URL
 * @param {string} [params.method='get'] - HTTP 方法，默认为 'get'
 * @param {Object} [params.data={}] - 请求体数据，默认为空对象
 * @param {Object} [params.params={}] - URL 查询参数，默认为空对象
 */
const getApi = async (params = {}) => {
	// 验证参数
	if (!params.url) {
		throw new Error("URL is required");
	}

	const { url, method = "get", data = {}, params: queryParams = {} } = params;

	try {
		const { data: responseData } = await interce({
			url,
			method,
			data,
			params: queryParams,
		});
		return responseData;
	} catch (error) {
		// 处理请求错误
		console.error("API request error:", error);
		throw error; // 重新抛出错误以便调用者处理
	}
};

export default getApi;
